热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

发生|攻击者_计算机网络学习笔记18防火墙技术入侵检测技术

篇首语:本文由编程笔记#小编为大家整理,主要介绍了计算机网络学习笔记18防火墙技术入侵检测技术相关的知识,希望对你有一定的参考价值。 【计算机网络学习笔记18】防火墙技术、入侵检测技术 一、防火墙 防

篇首语:本文由编程笔记#小编为大家整理,主要介绍了计算机网络学习笔记18防火墙技术入侵检测技术相关的知识,希望对你有一定的参考价值。



【计算机网络学习笔记18】防火墙技术、入侵检测技术
一、防火墙

防火墙 (firewall) :一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,尽可能降低这类安全威胁所带来的安全风险。
防火墙是一种特殊编程的路由器,安装在一个网点和网络的其余部分之间,目的是实施访问控制策略。访问控制策略由使用防火墙的单位自行制定。


1、防火墙的设计策略

机构的安全策略主要包括物理安全策略、访问控制策略、信息加密策略、网络安全管理策略等几个方面。其中最为重要的是网络访问控制策略,它用来保证网络资源不被非法使用和非常访问,主要是定义哪些用户能够登录到服务器并获取网络资源,授权用户可以访问网络资源的权限,允许或禁止的服务。它也是维护网络系统安全、保护网络资源的重要手段。各种安全策略必须相互配合才能真正起到保护作用,但访问控制可以说是保证网络安全最重要的核心策略之一。


2、防火墙在互连网络中的位置

一般把防火墙里面的网络称为“可信的网络”(trusted network) ,把防火墙外面的网络称为“不可信的网络”(untrusted network)。


3、包过滤技术:


(1)简单包过滤(静态包过滤)

使用包过滤技术的防火墙通常工作在 OSI 模型中的网络层上,路由器逐一审查数据包以判定它是否与其它包过滤规则相匹配。过滤规则以数据包的IP和TCP或UDP头信息为基础,不理会其数据部分。过滤路由器根据从包头取得的信息,如果找到一个匹配,且规则“允许”的时候,这个包则根据路由表中的信息进行转发。一旦发现某个包的某个或多个部分与过滤规则匹配并且条件为“阻止”的时候,这个包就会被丢弃。如果无匹配规则,则根据用户配置的缺省参数来决定是转发还是丢弃。

防火墙接收到信息之后,对于简单包过滤防火墙,它只处理IP和TCP的报头信息。包过滤规则只有两个功能,即允许和阻止,如果检查数据包所有的条件:都符合规则,允许功能就进行转发;如果检查到数据包的条件不符合规则,阻止功能将会丢弃所有的包。如果信息通过了安全策略的检查,则将通过另外一个接口转发给接收方。

接收方网卡接收到信息后,其处理正好与封装过程相反,它的工作是解包。即在另一边,为了获取数据就自下而上依次把包头剥离。
从管理角度来看,过滤规则对于简单包过滤型防火墙非常重要。但是普通计算机用户多数都不了解网络协议,不能很快地修改过滤规则。如果防火墙公司定期提供过滤规则的网络升级的话,又不能解决与专业用户修改后过滤规则的冲突问题。

静态包过滤的过滤的几个判断依据。静态包过滤的判断依据有(只考虑IP包):
• 数据包协议类型TCP、UDP、ICMP、IGMP等。
• 源/目的IP地址。
• 源/目的端口FTP、HTTP、DNS等。
• IP选项:源路由、记录路由等。
• TCP选项SYN、ACK、FIN、RST等。
• 其他协议选项ICMP ECHO、ICMP REPLY等。
• 数据包流向in或out。
• 数据包流经网络接口eth0、ethl。


(2)动态包过滤

人们对静态包过滤技术进行了改进,提出了动态包过滤技术(Dynamic Packet Filter,DPF),它在保持着原有静态包过滤技术的基础之外,通过建立连接状态表,还会动态的检查每一个有效连接的状态。

当动态包过滤防火墙接收到一个数据包后,在传统的包过滤的基础上增加了对数据包的状态判断。即除了检查包头信息外,还能根据连接状态信息动态的建立和维持连接状态表,并将连接状态表用于后序报文的访问控制过程中。一个数据包的意图如果不是建立连接,同时又不属于任何已经建立的连接,那么这个数据包直接就被丢弃或者拒绝。它还监视每一个有效连接的状态,并把当前数据包及其状态信息与前一时刻的数据包及状态信息进行比较,即经过一系列严密的算法分析,根据分析结果实施相应的操作,如允许数据包通过、拒绝通过、认证连接、加密数据等,这样就大大增加了安全性。

与简单包过滤防火墙相比,动态包过滤防火墙提高效率。因为一旦建立起连接状态表后,对于同一个连接的后序报文不需要匹配一条条的过滤规则,而直接根据连接状态表来进行转发。

动态包过滤技术对于包处理的规则是动态的,对每一个连接都进行跟踪,并且根据需要可动态地在过滤规则中增加或更新条目。虽然它加强了对网络层的保护,但对应用层的保护仍很弱。


 优点:

总的说来,包过滤方式有许多优点,而其主要优点之一是仅用一个放置在战略要位上的包过滤路由器就可保护整个网络,减少暴露的风险。如果站点与因特网间只有一台路由器,那么不管站点规模有多大,只要在这台路由器上设定合适的包过滤,站点就可以获得很好的网络安全保护。其次,包过滤不需要用户软件的支撑,也不要求对客户机做特别的设置,对用户完全透明,因此不需要对用户做任何培训;最后,包过滤产品比较容易获得,在市场上有许多硬件和软件的路由器产品不管是商业产品还是从网上免费下载的都提供了包过滤功能,因此不需要专门添加设备。


 缺点与局限性

尽管包过滤系统有许多优点,但是它仍有缺点和局限性:它得以进行正常工作的一切依据都在于过滤规则的实施,但是偏又不能满足建立精细规则的要求(规则数量和防火墙性能成反比),而且它只能工作于网络层和传输层,包过滤仅可以检测包头信息中的有限信息,并不能判断高级协议里的数据是否有害;同时包过滤规则的配置比较困难,就算配置好了,也难于检验;最后包过滤是提供无状态信息或者有限的状态信息,所以其审计、日志功能都较差。但是由于它廉价,容易实现,所以它(主要是动态包过滤)依然应用于在各种领域,在技术人员频繁的设置下工作着。


4、代理服务技术

代理服务器必须完成以下功能: 1.能够接收和解释客户端的请求; 2.能够创建到服务器的新连接; 3.能够接收服务器发来的响应; 4.能够发出或解释服务器的响应并将该响应传回给客户端。


5、状态监视技术

状态监视(Stateful Inspection)技术结合了包过滤技术和应用代理技术,它不但保留了包过滤和应用代理技术防火墙的全部特点。因为用户级别的应用如FTP或网络浏览都将创建复杂的网络通信方式,因此在不影响网络安全正常工作的前提下采用抽取相关数据的方法对网络通信的各个层次实行监测,从而增加了对会话的保护是十分必要的。如图展示了状态监视技术的工作过程。

状态监视防火墙在网络层、应用层以及会话上的保护都大大增强。由于它将上下文和前后文都可以进行关联,合成一个会话来进行理解和处理。因此它可以提供更安全、更细致的访问控制,同时也可以输出生成日志,把日志信息输出得更加详细。

基于状态监视技术的防火墙有强大功能,但由于状态检测防火墙毕竟是工作在网络层和传输层的,所以它仍然有一些不能解决的问题需要在应用层来进行解决,比如对于动态分配端口的 RPC 就必须作特殊处理;另外它也不能过滤掉应用层中特定的内容,比如对HTTP内容,它要么允许进,要么允许出,而不能对HTTP内容进行过滤,这样就不能控制用户访问的WEB内容,也不能过滤掉外部进入内网的恶意HTTP内容。


二、入侵检测系统

1、概念:

入侵检测系统 IDS (Intrusion Detection System) 能够在入侵已经开始,但还没有造成危害或在造成更大危害前,及时检测到入侵,以便尽快阻止入侵,把危害降低到最小。IDS 对进入网络的分组执行深度分组检查。当观察到可疑分组时,向网络管理员发出告警或执行阻断操作(由于 IDS 的“误报”率通常较高,多数情况不执行自动阻断)。IDS 能用于检测多种网络攻击,包括:网络映射、端口扫描、DoS 攻击、蠕虫和病毒、系统漏洞攻击等。


2、入侵检测的一般过程是:

信息收集、数据的检测分析、根据安全策略做出响应。

(1)信息收集
入侵检测的第一步是信息收集,收集的内容包括系统、网络、数据及用户活动的状态和行为。通常需要在计算机网络系统中的若干不同关键点(不同网段和不同主机)收集信息,这除了尽可能扩大检测范围的因素外,还有一个重要的因素就是从一个源来的信息有可能看不出疑点,但从几个源来的信息的不一致性却是可疑行为或入侵的最好标识。

(2)数据的检测分析
对上述四类收集到的有关系统、网络、数据及用户活动的状态和行为等信息,一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。

(3)根据安全策略做出响应
根据安全策略做出响应,响应方式可分为主动响应和被动响应。

被动响应型系统只会发出告警通知,将发生的不正常情况报告给管理员,本身并不试图
降低所造成的破坏,更不会主动地对攻击者采取反击行动。

主动响应系统可以分为对被攻击系统实施控制和对攻击系统实施控制的系统。对被攻击系统实施控制(防护)。它通过调整被攻击系统的状态,阻止或减轻攻击影响,例如断开网络连接、增加安全日志、杀死可疑进程等。对攻击系统实施控制(反击)。这种系统多被军方所重视和采用。目前,主动响应系统还比较少,即使做出主动响应,一般也都是断开可疑攻击的网络连接,或是阻塞可疑的系统调用,若失败,则终止该进程。但由于系统暴露于拒绝服务攻击下,这种防御一般也难以实施。


3、入侵检测的分类


 根据检测技术分类


(1)异常检测(Anomaly detection)

统计模型常用异常检测,在统计模型中常用的测量参数包括:审计事件的数量、间隔时间、资源消耗情况等。常用的入侵检测5种统计模型为:
①操作模型。该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到,举例来说,在短时间内的多次失败的登录很有可能是口令尝试攻击。
②方差。计算参数的方差,设定其置信区间,当测量值超过置信区间的范围时表明有可能是异常;
③多元模型。操作模型的扩展,通过同时分析多个参数实现检测;
④马尔柯夫过程模型。将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化,当一个事件发生时,或状态矩阵该转移的概率较小则可能是异常事件;
⑤时间序列分析。将事件计数与资源耗用根据时间排成序列,如果一个新事件在该时间发生的概率较低,则该事件可能是入侵。


(2)特征检测(Signature-based Detection)

又称误用检测(Misuse Detection),特征检测假设入侵者活动可以用一种模式来表示,然后将观察对象与之进行比较,判别是否符合这些模式。特征检测对已知的攻击或入侵的方式作出确定性的描述,形成相应的事件模式。当被审计的事件与已知的入侵事件模式相匹配时,即报警。原理上与专家系统相仿。其检测方法上与计算机病毒的检测方式类似。目前基于对包特征描述的模式匹配应用较为广泛。该方法预报检测的准确率较高,但对于无经验知识的入侵与攻击行为无能为力。


(3)专家系统

该技术根据安全专家对可疑行为的分析经验来形成一套推理规则,然后在此基础上建立相应的专家系统,由此专家系统自动进行对所涉及的入侵行为的分析工作。该系统应当能够随着经验的积累而利用其自学习能力进行规则的扩充和修正。


 根据数据来源分类


(1)基于主机的入侵检测系统(HIDS)

早期的入侵检测系统大多都是基于主机的 IDS,作为入侵检测系统的一大重要类型,它具有明显的优点:
①能够确定攻击是否成功;
②非常适合于加密和交换环境;
③近实时的检测和响应;
④不需要额外的硬件;
⑤可监视特定的系统行为。

但也存在一些不足:会占用主机的系统资源,增加系统负荷,并且针对不同的操作系统必须开发出不同的应用程序,另外,所需配置的 IDS 数量众多。


(2)基于网络的入侵检测系统(NIDS)

较之基于主机的IDS,它有着以下明显优势:
①攻击者转移证据更困难;
②实时检测和应答;
③能够检测到未成功的攻击企图;
④操作系统无关性;
⑤较低成本。

但也存在一定的不足:只能监视通过本网段的活动,并且精确度较差;在交换网络环境中难于配置;防欺骗的能力比较差,对于加密环境它就更是无能为力了。


(3)分布式入侵检测系统

目前这种技术在ISS的RealSecure等产品中已经有了应用。它检测的数据也是来源于网络中的数据包,不同的是,它采用分布式检测、集中管理的方法。即在每个网段安装一个黑匣子,该黑匣子相当于基于网络的入侵检测系统,只是没有用户操作界面。黑匣子用来监测其所在网段上的数据流,它根据集中安全管理中心制定的安全策略、响应规则等来分析检测网络数据,同时向集中安全管理中心发回安全事件信息。集中安全管理中心是整个分布式入侵检测系统面向用户的界面。它的特点是对数据保护的范围比较大,但对网络流量有一定的影响。

从上述基于主机的IDS和基于网络的IDS的分析中,可以看出:这两者各自都有着自身独到的优势,而且在某些方面是很好的互补。一种融合以上两种技术的检测方法应运而生,这种入侵检测技术不仅可以利用模型推理的方法针对用户的行为进行判断而且同时运用了统计方法建立用户的行为统计模型,监控用户的异常行为。


4、通用入侵检测框架

通用入侵检测框架CIDF(Common Intrusion Detection Framework)所做的工作主要包括四部分:IDS的体系结构、通信机制、描述语言和应用编程接口API。

CIDF在IDES和NIDES的基础上提出了一个通用模型,将入侵检测系统分为事件产生器、事件分析器、响应单元和事件数据库四个基本组件。为了保证各个组件之间安全、高效的通信,CIDF将通信机制构造成一个三层模型:GIDO层、消息层和协商传输层。

CIDF的工作重点是定义了一种应用层的语言CISL(公共入侵规范语言),用来描述IDR组件之间传送的信息,以及制定一套对这些信息进行编码的协议。

CIDF的API负责GIDO的编码、解码和传递,它提供的调用功能使得程序员可以在不了解编码和传递过程具体细节的情况下,以一种很简单的方式构建和传递GIDO。



作者: 杨佳佳
排版: 胖虎
初审: 正山小种
复审: 二月二

更多视频课程请访问 “CSDN 正月十六工作室讲师学院首页


推荐阅读
  • 后台自动化测试与持续部署实践
    后台自动化测试与持续部署实践https:mp.weixin.qq.comslqwGUCKZM0AvEw_xh-7BDA后台自动化测试与持续部署实践原创 腾讯程序员 腾讯技术工程 2 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 本人新手,用Unity3D想做一个简单的赛车游戏,现在的问题是转弯的时候很容易出现翻车的情况,求解决思路比如说你的中心是在(0,0,0),你把他设置成(0,-1.0,0)之类的就可 ... [详细]
  • SOA架构理解理解SOA架构,了解ESB概念,明白SOA与微服务的区别和联系,了解SOA与热门技术的结合与应用。1、面向服务的架构SOASOA(ServiceOrien ... [详细]
  • c# java socketn 字节流_C#Socket编程详解(一)TCP与UDP简介
    一、TCP与UDP(转载)1、TCP1.1定义TCP(TransmissionControlProtocol)传输控制协议。是一种可靠的、面向连接的协议(eg:打电话)、传输效率低 ... [详细]
  • 引言随着企业安全意识的增强以及现代化管理水平的提高,对设备的远程监控在工业控制系统中得到了越来越广泛的应用。近年来,Web技术广泛普及,把 ... [详细]
  • 实验2:Open vSwitch虚拟交换机实践   实验3:OpenFlow协议分析实践
    实验2:OpenvSwitch虚拟交换机实践一、实验目的能够对OpenvSwitch进行基本操作;能够通过命令行终端使用OVS命令操作OpenvSwitch交换机,管理流表;能够通 ... [详细]
  • python计算数据包校验和(python接口数据校验)
    本文目录一览:1、怎么用python算p值和t检验 ... [详细]
  • 痞子衡嵌入式:对比MbedTLS算法库纯软件实现与i.MXRT上DCP,CAAM硬件加速器实现性能差异...
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是MbedTLS算法库纯软件实现与i.MXRT上DCP,CAAM硬件加速器实现性能差异。近 ... [详细]
author-avatar
忧伤的嫖客
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有